#ifndef __NETDISK_H__
#define __NETDISK_H__
#include "standard_library.h"// 标准库

typedef enum
{
    CD = 100,// 进入对应目录
    LS,// 列出相应目录文件
    PWD,// 显示目前所在路径
    MKDIR,// 创建目录文件
    RMDIR,// 删除目录文件
    PUTS,// 将本地文件上传至服务器
    GETS,// 下载服务器文件到本地
    REMOVE// 删除服务器上的文件
}command_t;

typedef struct netdisk_s
{

}netdisk_t;

typedef struct client_s
{
    char clientName[1024];// 用户名
    char clientPassword[1024];// 用户密码
}client_t;

typedef struct train_s
{
    int length;// 火车头，存放传输数据的长度
    char data[4096];// 存放每次传输的数据
    char commandPath[1024];// 存放目录名，以及执行pwd命令得到的结果
    command_t command;// 存放接收到的命令，枚举类型
    
    char* lsCommand[4096];// 字符串数组，单独存放执行ls命令存放的结果
    client_t client;// 客户信息
}train_t;

int command_check(char* command);// 检查命令
int catalog_check(char* caralog);// 检查是否合法目录


int epollAdd(int epfd, int fd);
int epollDel(int epfd, int fd);


int recvfile(int sockfd, train_t* train);
int transfile(int sockfd, train_t* train);

#endif // !__NETDISK_H__


